package com.ljx.Dynamic;


import java.util.LinkedList;
import java.util.Queue;

/**
 * @author 李加喜
 * @Package com.ljx.Dynamic
 * @date 2021-11-04 21:03
 */
// 树的最小路径
public class Five {
    public static void main(String[] args) {

    }
    public int minDepth(TreeNode root) {
        if (root==null){ return 0;}
        Queue<TreeNode> p= new LinkedList<>();
        p.offer(root);
        int depth=1;
        while (!p.isEmpty()){
            int size = p.size();
            //从当前向四周进行扩散
            for (int i=0;i<size;i++){
                // 移除头部
                TreeNode curr = p.poll();
                // 什么时候结束
                    if (curr.left==null &&curr.right==null){
                    return depth;
                }
                // 将相邻的节点放入到队列里面
                if (curr.left!=null){
                    p.offer(curr.left);
                }
                if (curr.right!=null){
                    p.offer(curr.right);
                }
            }
            depth++;
        }
        return depth;
    }
}

